package com.qzyh.esb.egsa.utils;

import com.qzyh.esb.egsa.bean.vo.DeptTreeVO;
import com.qzyh.esb.egsa.entity.Dept;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

@Mapper(componentModel = "spring")
public interface DeptConverter {

    // 实例
    DeptConverter INSTANCE = Mappers.getMapper(DeptConverter.class);

    /**
     * Dept 转化为 DeptTreeVO
     * @param dept
     * @return
     */
    DeptTreeVO deptToDeptTreeVO(Dept dept);

    // 	当执行 下面这个List的转换时，会遍历list: DeptList，
    //  然后自动调用上面的Dept转DeptTreeVO的转换方法，来进行转换
    /**
     * DeptList 转化为 DeptTreeVOList
     * @param deptList
     * @return
     */
    List<DeptTreeVO> deptListToDeptTreeVOList(List<Dept> deptList);

}
